Signal Reshaping for High Dynamic Range Signals

ABSTRACT

In a method to improve backwards compatibility when decoding high-dynamic range images coded in a wide color gamut (WCG) space which may not be compatible with legacy color spaces, hue and/or saturation values of images in an image database are computed for both a legacy color space (say, YCbCr-gamma) and a preferred WCG color space (say, IPT-PQ). Based on a cost function, a reshaped color space is computed so that the distance between the hue values in the legacy color space and rotated hue values in the preferred color space is minimized HDR images are coded in the reshaped color space. Legacy devices can still decode standard dynamic range images assuming they are coded in the legacy color space, while updated devices can use color reshaping information to decode HDR images in the preferred color space at full dynamic range.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. Provisional Application Ser.No. 62/302,073 filed on 1 Mar. 2016, 62/300,012, filed on 25 Feb. 2016,62/278,362 filed on 13 Jan. 2016, Ser. No. 62/202,980, filed on 10 Aug.2015, and 62/200,797 filed on 4 Aug. 2015, each of which is incorporatedherein by reference in its entirety.

TECHNOLOGY

The present invention relates generally to images. More particularly, anembodiment of the present invention relates to signal reshaping ofimages with high dynamic range to improve backwards compatibility

BACKGROUND

As used herein, the term ‘dynamic range’ (DR) may relate to a capabilityof the human visual system (HVS) to perceive a range of intensity (e.g.,luminance, luma) in an image, e.g., from darkest darks (blacks) tobrightest whites (i.e., highlights). In this sense, DR relates to a‘scene-referred’ intensity. DR may also relate to the ability of adisplay device to adequately or approximately render an intensity rangeof a particular breadth. In this sense, DR relates to a‘display-referred’ intensity. Unless a particular sense is explicitlyspecified to have particular significance at any point in thedescription herein, it should be inferred that the term may be used ineither sense, e.g. interchangeably.

As used herein, the term high dynamic range (HDR) relates to a DRbreadth that spans the some 14-15 orders of magnitude of the humanvisual system (HVS). In practice, the DR over which a human maysimultaneously perceive an extensive breadth in intensity range may besomewhat truncated, in relation to HDR. As used herein, the termsenhanced dynamic range (EDR) or visual dynamic range (VDR) mayindividually or interchangeably relate to the DR that is perceivablewithin a scene or image by a human visual system (HVS) that includes eyemovements, allowing for some light adaptation changes across the sceneor image. As used herein, EDR may relate to a DR that spans 5 to 6orders of magnitude. Thus while perhaps somewhat narrower in relation totrue scene referred HDR, EDR nonetheless represents a wide DR breadthand may also be referred to as HDR.

In practice, images comprise one or more color components (e.g., luma Yand chroma Cb and Cr) wherein each color component is represented by aprecision of n-bits per pixel (e.g., n=8). Using linear luminancecoding, images where n≤8 (e.g., color 24-bit JPEG images) are consideredimages of standard dynamic range, while images where n>8 may beconsidered images of enhanced dynamic range. EDR and HDR images may alsobe stored and distributed using high-precision (e.g., 16-bit)floating-point formats, such as the OpenEXR file format developed byIndustrial Light and Magic.

Given a video stream, information about its coding parameters istypically embedded in the bit stream as metadata. As used herein, theterm “metadata” relates to any auxiliary information that is transmittedas part of the coded bitstream and assists a decoder to render a decodedimage. Such metadata may include, but are not limited to, color space orgamut information, reference display parameters, and auxiliary signalparameters, as those described herein.

Most consumer desktop displays currently support luminance of 200 to 300cd/m² or nits. Most consumer HDTVs range from 300 to 500 nits with newmodels reaching 1000 nits (cd/m²). Such conventional displays thustypify a lower dynamic range (LDR), also referred to as a standarddynamic range (SDR), in relation to HDR or EDR. As the availability ofHDR content grows due to advances in both capture equipment (e.g.,cameras) and HDR displays (e.g., the PRM-4200 professional referencemonitor from Dolby Laboratories), HDR content may be color graded anddisplayed on HDR displays that support higher dynamic ranges (e.g., from1,000 nits to 5,000 nits or more). In general, without limitation, themethods of the present disclosure relate to any dynamic range higherthan SDR. As appreciated by the inventors here, improved techniques forthe coding of high-dynamic range images are desired.

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection. Similarly, issues identified with respect to one or moreapproaches should not assume to have been recognized in any prior art onthe basis of this section, unless otherwise indicated.

BRIEF DESCRIPTION OF THE DRAWINGS

An embodiment of the present invention is illustrated by way of example,and not in way by limitation, in the figures of the accompanyingdrawings and in which like reference numerals refer to similar elementsand in which:

FIG. 1 depicts an example process for a video delivery pipeline;

FIG. 2 depicts an example process for color conversion to the IPT-PQcolor space;

FIG. 3 depicts an example process for signal reshaping and coding;

FIG. 4 depicts an example tone-mapping curve for luminance reshapingbetween ST 2084 IPT and BT 1866 IPT according to an embodiment of thisinvention;

FIG. 5 depicts an example system for backward-compatible coding anddecoding using color space reshaping according to an embodiment of thisinvention;

FIG. 6 depicts an example process flow for generating a color-rotationand scaling matrix according to an embodiment of this invention;

FIG. 7A and FIG. 7B depict hue and saturation reshaping functionsaccording to an embodiment of this invention;

FIG. 8 depicts an example of hue and saturation reshaping between theIPT-PQ and YCbCr-gamma color spaces according to an embodiment of thisinvention; and

FIG. 9 depicts an example of an EETF function according to an embodimentof this invention.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Signal reshaping and coding of high dynamic range (HDR) images isdescribed herein. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the present invention. It will be apparent,however, that the present invention may be practiced without thesespecific details. In other instances, well-known structures and devicesare not described in exhaustive detail, in order to avoid unnecessarilyoccluding, obscuring, or obfuscating the present invention.

Overview

Example embodiments described herein relate to the reshaping and codingof high-dynamic range images. In a method to improve backward compatibledecoding, in an encoder, a processor accesses an image database and

computes first hue values of the images in the database in a first colorspace;

computes second hue values of the images in the database in a secondcolor space;

computes a hue rotation angle based on minimizing a hue cost function,wherein the hue cost function is based on a difference measure of thefirst hue values and rotated second hue values; and

generates a color-rotation matrix based on the hue rotation angle.

In an embodiment, the first color space is a gamma-based YCbCr colorspace and the second color space is a PQ-based IPT color space.

In an embodiment, the color-rotation matrix is used to generate areshaped color space based on the preferred color space. Images arecoded using the reshaped color space, and information about the colorrotation matrix is signaled from the encoder to a decoder.

In an embodiment, in a decoder, in a method to reconstruct an inputimage coded in a reshaped color space, the decoder:

receives a coded input image in a reshaped color space, wherein thereshaped color space is generated by rotating chroma components of apreferred color space to approximate one or more parameters of a legacycolor space;

accesses metadata transmitted from an encoder to the decoder, whereinthe metadata is associated with the coded input image and comprise:

-   -   a flag indicating the presence or not of a color-rotation and        scaling matrix; and    -   a plurality of coefficients for the color-rotation and scaling        matrix when the flag indicates the presence of the        color-rotation and scaling matrix;

decodes the coded input image to generate a decoded image in thereshaped color space; and

generates a decoded image in the preferred color space based on thedecoded image in the reshaped color space and the color-rotation andscaling matrix.

In another embodiment, in an encoder, a processor:

receives an input image in a preferred color space;

accesses a hue rotation function, wherein for a hue value of a pixel inthe input image in the preferred color space, the hue rotation functiongenerates a rotated hue output value that matches according to ahue-cost criterion a hue value in a legacy color space;

generates a reshaped image based on the input image and the hue rotationfunction; and

encodes the reshaped image to generate a coded reshaped image.

In another embodiment, in a decoder, a processor:

accesses an input image encoded in a reshaped color space;

accesses metadata associated with the input image, wherein the metadatacomprise data associated with a hue rotation function used to translatethe input image from a preferred color space to the reshaped colorspace, wherein for a hue value of a pixel in the input image in thepreferred color space, the hue rotation function generates a rotated hueoutput value that matches according to a hue-cost criterion a hue valuein a legacy color space; and

generates an output image in the preferred color space based on theinput image and the data associated with the hue rotation function.

Example Video Delivery Processing Pipeline

FIG. 1 depicts an example process of a conventional video deliverypipeline (100) showing various stages from video capture to videocontent display. A sequence of video frames (102) is captured orgenerated using image generation block (105). Video frames (102) may bedigitally captured (e.g. by a digital camera) or generated by a computer(e.g. using computer animation) to provide video data (107).Alternatively, video frames (102) may be captured on film by a filmcamera. The film is converted to a digital format to provide video data(107). In a production phase (110), video data (107) is edited toprovide a video production stream (112).

The video data of production stream (112) is then provided to aprocessor at block (115) for post-production editing. Post-productionediting (115) may include adjusting or modifying colors or brightness inparticular areas of an image to enhance the image quality or achieve aparticular appearance for the image in accordance with the videocreator's creative intent. This is sometimes called “color timing” or“color grading.” Other editing (e.g. scene selection and sequencing,image cropping, addition of computer-generated visual special effects,etc.) may be performed at block (115) to yield a final version (117) ofthe production for distribution. During post-production editing (115),video images are viewed on a reference display (125).

Following post-production (115), video data of final production (117)may be delivered to encoding block (120) for delivering downstream todecoding and playback devices such as television sets, set-top boxes,movie theaters, and the like. In some embodiments, coding block (120)may include audio and video encoders, such as those defined by ATSC,DVB, DVD, Blu-Ray, and other delivery formats, to generate coded bitstream (122). In a receiver, the coded bit stream (122) is decoded bydecoding unit (130) to generate a decoded signal (132) representing anidentical or close approximation of signal (117). The receiver may beattached to a target display (140) which may have completely differentcharacteristics than the reference display (125). In that case, adisplay management block (135) may be used to map the dynamic range ofdecoded signal (132) to the characteristics of the target display (140)by generating display-mapped signal (137).

The IPT-PQ Color Space

In a preferred embodiment, without limitation, part of the processingpipeline, for example, coding (120), decoding (130), and displaymanagement (135) may be performed in what will be referred to as theIPT-PQ color space. An example use of the IPT-PQ color space for displaymanagement application can be found in “Display Management for HighDynamic Range Video,” WIPO Publication WO 2014/130343, by R. Atkins etal., which is incorporated by reference in its entirety. The IPT colorspace, as described in “Development and testing of a color space (ipt)with improved hue uniformity”, by F. Ebner and M. D. Fairchild, in Proc.6^(th) Color Imaging Conference: Color Science, Systems, andApplications, IS&T, Scottsdale, Ariz., November 1998, pp. 8-13 (to bereferred to as the Ebner paper), which is incorporated herein byreference in its entirety, is a model of the color difference betweencones in the human visual system. In this sense it is like the YCbCr orCIE-Lab color spaces; however, it has been shown in some scientificstudies to better mimic human visual processing than these spaces. LikeCIE-Lab, IPT is a normalized space to some reference luminance. In anembodiment, the normalization is based on the maximum luminance of atarget display (e.g., 5,000 nits).

The term “PQ” as used herein refers to perceptual quantization. Thehuman visual system responds to increasing light levels in a verynon-linear way. A human's ability to see a stimulus is affected by theluminance of that stimulus, the size of the stimulus, the spatialfrequency(ies) making up the stimulus, and the luminance level that theeyes have adapted to at the particular moment one is viewing thestimulus. In a preferred embodiment, a perceptual quantizer functionmaps linear input gray levels to output gray levels that better matchthe contrast sensitivity thresholds in the human visual system. Examplesof PQ mapping functions are described in U.S. Pat. No. 9,077,994 (to bereferred as the '994 Patent),” by J. S. Miller et al., which isincorporated herein by reference in its entirety, parts of which havebeen adopted by the SMPTE ST 2084:2014 specification, titled “HighDynamic Range Electro-optical Transfer Function of Mastering ReferenceDisplays,” Aug. 16, 2014, incorporated herein by reference in itsentirety, where given a fixed stimulus size, for every luminance level(i.e., the stimulus level), a minimum visible contrast step at thatluminance level is selected according to the most sensitive adaptationlevel and the most sensitive spatial frequency (according to HVSmodels). Compared to the traditional gamma curve, which represents theresponse curve of a physical cathode ray tube (CRT) device andcoincidently may have a very rough similarity to the way the humanvisual system responds, a PQ curve, as determined by the '994 Patent,imitates the true visual response of the human visual system using arelatively simple functional model.

FIG. 2 depicts in more detail an example process (200) for the colorconversion into the IPT-PQ color space according to an embodiment. Asdepicted in FIG. 2, given input signal (202) which is in a first colorspace (e.g., RGB), the color space transformation in theperceptually-corrected IPT color space (IPT-PQ) may comprise thefollowing steps:

a) Optional step (210) may normalize the pixel values of the inputsignal (202) (e.g., 0 to 4095) into pixel values with a dynamic rangebetween 0 and 1.

b) If the input signal (202) is gamma-coded or PQ-coded (e.g., per BT.1866 or SMPTE ST 2084), optional step (215) may use the signal'selectro-optical transfer function (EOTF) (as provided by signalmetadata) to reverse or undo the source display's conversion from codevalues to luminance. For example, if the input signal is gamma coded,then this step applies an inverse gamma function. If the input signal isPQ-encoded according to SMPTE ST 2084, then this step applies an inversePQ function. In practice, the normalization step (210) and the inversenon-linear encoding (215) may be performed using pre-computed 1-DLook-up tables (LUTs) to generate a linear signal 217.

c) In step (220), linear signal 217 is converted from its original colorspace (e.g., RGB, XYZ, and the like) into the LMS color space. Forexample, if the original signal is in RGB, then this step may comprisetwo steps: an RGB to XYZ color transformation and an XYZ to LMS colortransformation. In an embodiment, without limitation, the XYZ to LMStransformation may be given by

$\begin{matrix}{\begin{pmatrix}L \\M \\S\end{pmatrix} = {\begin{pmatrix}0.4002 & 0.7076 & {- 0.0808} \\{- 0.2263} & 1.1653 & 0.0457 \\0 & 0 & 0.9182\end{pmatrix}{\begin{pmatrix}X \\Y \\Z\end{pmatrix}.}}} & \left( {1a} \right)\end{matrix}$

In an another embodiment, as described in U.S. Provisional PatentApplication Ser. No. 62/056,093, filed on Sep. 26, 2014, titled“Encoding and decoding perceptually-quantized video content,” (filedalso as PCT/US2015/051964, on Sep. 24, 2015) which is incorporatedherein by reference in its entirety, the overall coding efficiency inthe IPT-PQ color space may be further increased if one incorporates across-talk matrix

$\quad\begin{pmatrix}{1 - {2\; c}} & c & c \\c & {1 - {2\; c}} & c \\c & c & {1 - {2\; c}}\end{pmatrix}$

-   -   as part of the XYZ to LMS transformation. For example, for        c=0.02, multiplying the cross-talk matrix with the 3×3 matrix in        equation (1a) yields:

$\begin{matrix}{\begin{pmatrix}L \\M \\S\end{pmatrix} = {\begin{pmatrix}0.3797 & 0.7026 & {- 0.0583} \\{- 0.2092} & 1.1329 & 0.0606 \\0.0035 & 0.0375 & 0.8808\end{pmatrix}{\begin{pmatrix}X \\Y \\Z\end{pmatrix}.}}} & \left( {1b} \right)\end{matrix}$

Similarly, for c=0.04, in another embodiment, multiplying the cross-talkmatrix with the original XYZ to LMS matrix (e.g., equation (1a)) yields:

$\begin{matrix}{\begin{pmatrix}L \\M \\S\end{pmatrix} = {\begin{pmatrix}0.359132 & 0.697604 & {- 0.03578} \\{- 0.192188} & 1.10038 & 0.07554 \\0.006956 & 0.074916 & 0.84334\end{pmatrix}{\begin{pmatrix}X \\Y \\Z\end{pmatrix}.}}} & \left( {1c} \right)\end{matrix}$

d) According to the Ebner paper, the traditional LMS to IPT color spaceconversion comprises applying first a non-linear power function to theLMS data and then applying a linear transformation matrix. While one cantransform the data from LMS to IPT and then apply the PQ function to bein the IPT-PQ domain, in a preferred embodiment, in step (225) thetraditional power function for a non-linear encoding of LMS to IPT isreplaced with the PQ non-linear encoding of each one of the L, M, and Scomponents.

e) Using an LMS to IPT linear transform (e.g., as defined in the Ebnerpaper), step (230) completes the conversion of signal 222 to the IPT-PQcolor space. For example, in an embodiment, the L′M′S′ to IPT-PQtransform may be given by

$\begin{matrix}{\begin{pmatrix}I^{\prime} \\P^{\prime} \\T^{\prime}\end{pmatrix} = {\begin{pmatrix}0.400 & 0.4000 & 0.2000 \\4.4550 & {- 4.8510} & 0.3960 \\0.8056 & 0.3572 & {- 1.1628}\end{pmatrix}{\begin{pmatrix}L^{\prime} \\M^{\prime} \\S^{\prime}\end{pmatrix}.}}} & \left( {2a} \right)\end{matrix}$

In another embodiment, experiments have shown that it may be preferredthat the I′ component may be derived without any dependency on the S′component, hence equation (2a) may become:

$\begin{matrix}{\begin{pmatrix}I^{\prime} \\P^{\prime} \\T^{\prime}\end{pmatrix} = {\begin{pmatrix}0.500 & 0.5000 & 0 \\4.4550 & {- 4.8510} & 0.3960 \\0.8056 & 0.3572 & {- 1.1628}\end{pmatrix}{\begin{pmatrix}L^{\prime} \\M^{\prime} \\S^{\prime}\end{pmatrix}.}}} & \left( {2b} \right)\end{matrix}$

IPT-PQ Versus YCbCr-Gamma

Most of the existing video compression standards, such as MPEG-1,MPEG-2, AVC, HEVC, and the like, have been tested, evaluated, andoptimized for gamma-coded images in the YCbCr color space; however,experimental results have shown that the IPT-PQ color space may providea better representation format for high-dynamic range images with 10 ormore bits per pixel per color component. Signal encoding in color spacesthat are better suited for HDR and wide color gamut signals (e.g.,IPT-PQ) may yield better overall picture quality; however, legacydecoders (e.g., set-top boxes and the like) may be unable to do properdecoding and color conversion. To improve backwards compatibility, sothat even devices that are not aware of the new color spaces cangenerate a reasonable picture, as appreciated by the inventors, newsignal reshaping techniques are needed.

FIG. 3 depicts an example process for signal reshaping and codingaccording to an embodiment. As depicted in FIG. 3, given input (302),the forward color reshaping block (305) applies, as needed, colortransformation and or reshaping functions to generate a signal (307) ina preferred color space (e.g., IPT-PQ-r). Reshaping-related metadata(309) may also be generated and communicated to subsequent blocks of thecoding pipeline, such as the encoder (310), the decoder (315), andbackward color reshaping (320).

A decoder, after receiving coded signal (315) will apply decoding (315)(such as HEVC decoding) to generate decoded signal (317). A decoderaware of the preferred HDR-WCG coding color space (e.g., IPT-PQ-r), willapply a proper backward or reverse reshaping (320) to generate a signal(322) in the proper color space (say, IPT-PQ). Then, signal (322) may betransformed to YCbCr or RGB for additional post-processing, storage, ordisplay.

A legacy decoder, which is not aware of the preferred HDR-WCG codingspace, may treat the HDR-WCG space as a legacy color space (e.g.,gamma-coded YCbCr); however, due to the forward color reshaping (305),output (317) may still have a reasonable picture quality, despite thefact that no backward reshaping or other color transformation is appliedto output (317) of the decoder.

Color Reshaping

Consider, without loss of generality, the IPT-PQ color space. In anembodiment, a linear reshaping matrix (e.g., a 3×3 matrix) is generatedto perceptually match the skin tones in an IPT-PQ signal with theskin-tones in a YCbCr-gamma signal. Such a color transformation has noeffect on the performance of most image processing applications in theIPT color space, yet greatly improves color reproduction by a legacydevice. Instead of or in addition of skin tones, similar transformationmatrices may also be generated to match other important colors, such asfoliage, sky, etc. In an embodiment, the reshaping matrix may becomputed as follows:

a) Load a database of skin-tone colors, for example, reflectancespectrums, and convert them to a device independent color space, such asXYZ;

b) Convert the database of skin tones from XYZ into the legacy colorspace format (e.g., YCbCr, Rec. 709). This step may include, forexample, the following substeps:

b.1) Convert the database to RGB (Rec. 709);

b.2) Apply a gamma to the RGB values (e.g., per BT. 1886) to generate agamma-coded R′G′B′ signal;

b.3) Convert the R′G′B′ signals to YCbCr-gamma values (e.g., per Rec.709);

b.4) Compute Hue

$\left( {{e.g.},{{Hue}_{YCbCr} = {\tan^{- 1}\left( \frac{Cr}{Cb} \right)}}} \right)$

values of the YCbCr-gamma signals;

b.5) Compute saturation values (e.g., Sat_(YCbCr)=√{square root over(Cb²+Cr²)}) of the YCbCr-gamma signals;

c) Compute the skin tone values in the database in the preferred colorformat (e.g. IPT-PQ). This step may include the following sub-steps:

c.1) Convert XYZ to LMS;

c.2) Convert LMS to L′M′S′ and to I′P′T′ by applying PQ (e.g., per ST2084);

c.3) Compute Hue values

$\left( {{e.g.},{{{Hue}_{IPT} = {\tan^{- 1}\left( \frac{T^{\prime}}{P^{\prime}} \right)}};}} \right.$

c.4) Compute Saturation values (Sat_(IPT)=√{square root over(T′²+P′²)});

d) Compute a rotation matrix to rotate the IPT values so that skin tonesin a rotated or reshaped IPT-PQ (e.g., IPT-PQ-r) are aligned with skintones in YCbCr-gamma. In an embodiment, this step is computed byoptimizing a cost function related to the hue and saturation values ofthe samples in the two color spaces. For example, in an embodiment thecost function may represent the mean square error (MSE) between thelegacy color space (e.g., YCbCr) and the rotated preferred HDR colorspace (e.g., IPT-PQ). For example, Let

Cost_(H)=Σ_(i)(Hue_(YCbCr)(i)−Hue_(IPT-PQ-r)(i))²,  (3)

denote a hue-related cost function, where Hue_(IPT-PQ-r) denotes the hueof the reshaped color (that is, IPT-PQ-r) and can be defined as

$\begin{matrix}{{{{Hue}_{{IPT} - {PQ} - r}(i)} = {\tan^{- 1}\left( \frac{{{\sin (a)}*{P^{\prime}(i)}} + {{\cos (a)}*{T^{\prime}(i)}}}{{{\cos (a)}*{P^{\prime}(i)}} - {{\sin (a)}*{T^{\prime}(i)}}} \right)}},} & (4)\end{matrix}$

where all inverse tan functions are computed in (−π, π).

In an embodiment, one may apply any known in the art optimizationtechniques to find the value of angle “α”, to be denoted as a′, tominimize the cost function according to a given criterion. For example,one may apply the MATLAB function fminunc(fun, x0), with fun=Cost_(H)and x0=0.1. Given a′, the rotation matrix R may be defined as

$\begin{matrix}{R = {\begin{bmatrix}1 & 0 & 0 \\0 & {\cos \left( a^{\prime} \right)} & {\sin \left( a^{\prime} \right)} \\0 & {- {\sin \left( a^{\prime} \right)}} & {\cos \left( a^{\prime} \right)}\end{bmatrix}.}} & (5)\end{matrix}$

As an example, based on a sample database, in an embodiment, fora′=71.74 degrees

$\begin{matrix}{R = {\begin{bmatrix}1 & 0 & 0 \\0 & 0.3133 & 0.9496 \\0 & {- 0.9496} & 0.3133\end{bmatrix}.}} & (6)\end{matrix}$

Given R and the original L′M′S′ to I′P′T′ matrix LMS2IPTmat (see forexample, equation (2)), the conversion to the reshaped IPT-PQ-r colorspace may use a new LMS2IPTmat-r matrix defined as:

LMS2IPTmat-r=R ^(T) *LMS2IPTmat=((LMS2IPTmat^(T) *R))^(T),  (7)

where A^(T) denotes the transpose of matrix A.

In an embodiment, in addition to aligning the hues for the skin tones,one may also align the saturation. This may include the following steps:

a) Apply R to the original IPT-PQ data to generate color-rotated chromavalues P_(R) and T_(R) datab) Define a saturation cost function, e.g., the MSE between saturationvalues in the original and target color spaces:

$\begin{matrix}{{{Cost}_{S} = {\sum_{i}\left( {{{Sat}_{YCbCr}(i)} - {{Sat}_{{IPT} - {PQ} - r}(i)}} \right)^{2}}},} & (8) \\{{{{Sat}_{{IPT} - {PQ} - r}(i)} = {b*\sqrt{{P_{R}^{2}(i)} + {T_{R}^{2}(i)}}}},} & (9)\end{matrix}$

where,andc) Let b′ denote the b value that optimizes Cost_(S). Then, one canapply a scaling vector

$\begin{matrix}{S = \begin{bmatrix}1 \\b^{\prime} \\b^{\prime}\end{bmatrix}} & (10)\end{matrix}$

to the chroma rotation matrix to form a single color-rotation andscaling 3×3 matrix

$\begin{matrix}{R_{S} = {\begin{bmatrix}1 & 0 & 0 \\0 & {{\cos \left( a^{\prime} \right)}*b^{\prime}} & {{\sin \left( a^{\prime} \right)}*b^{\prime}} \\0 & {{- {\sin \left( a^{\prime} \right)}}*b^{\prime}} & {{\cos \left( a^{\prime} \right)}*b^{\prime}}\end{bmatrix}.}} & (11)\end{matrix}$

In some embodiment, the hue-cost and saturation-cost functions (e.g.,equations (3) and (8) may be combined into a single hue/saturation costfunction and solved for both a′ and b′ simultaneously. For example, fromequation (11), in an embodiment, for

$\begin{matrix}{{R_{S} = \begin{bmatrix}1 & 0 & 0 \\0 & {{\cos \left( a^{\prime} \right)}*b\; 1^{\prime}} & {{\sin \left( a^{\prime} \right)}*b\; 2^{\prime}} \\0 & {{- {\sin \left( a^{\prime} \right)}}*b\; 3^{\prime}} & {{\cos \left( a^{\prime} \right)}*b\; 4^{\prime}}\end{bmatrix}},} & (12)\end{matrix}$

equation (4) can be modified as

$\begin{matrix}{{{{Hue}_{{IPT} - {PQ} - r}(i)} = {\tan^{- 1}\left( \frac{{b\; 2*{\sin (a)}*{P^{\prime}(i)}} + {b\; 4*{\cos (a)}*{T^{\prime}(i)}}}{{b\; 1*{\cos (a)}*{P^{\prime}(i)}} - {b\; 3*{\sin (a)}*{T^{\prime}(i)}}} \right)}},} & (13)\end{matrix}$

and one can solve equation (3) for both the optimum a′ and the optimumbi′ (i=1 to 4) scaling factors.

For example, in an embodiment, for a′=65 degrees and b1′=1.4, b2′=1.0,b3′=1.4, and b4′=1.0, equation (12) yields:

$\begin{matrix}{R_{S} = {\begin{bmatrix}1 & 0 & 0 \\0 & 0.591666 & 0.906308 \\0 & {- 1.26883} & 0.422618\end{bmatrix}.}} & \left( {12b} \right)\end{matrix}$

Tone Reshaping

The proposed rotation matrix R may improve the color reproduction;however, the decoded image (317) may still be perceived to have lowcontrast due to the difference in the non-linear EOTF encoding functions(e.g., ST 2084 versus BT 1866). In an embodiment, the contrast may beimproved by applying a 1-D tone-mapping curve to the luminance channel(e.g., I′). This step may include the following sub-steps:

a) Apply a tone-mapping curve (e.g., a sigmoid) to map the originalcontent from an original HDR maximum brightness (e.g., 4,000 nits) to anSDR target brightness (e.g., 100 nits). An example of such a sigmoidfunction may be found in U.S. Pat. No. 8,593,480, “Method and Apparatusfor Image Data Transformation,” by A. Ballestad and A. Kostin, which isincorporated herein by reference in its entirety. Examples ofalternative reshaping functions were also disclosed in WIPO PublicationWO 2014/160705, “Encoding perceptually-quantized video content inmulti-layer VDR coding,” which is incorporated herein by reference inits entirety. Let I_(T)′=ƒ(I′) denote the output of the tone mappingfunction ƒ( ) thenb) Linearize I_(T)′ (e.g., apply an inverse PQ or gamma function) togenerate linear I_(T) data; andc) Apply legacy EOTF encoding (e.g., BT. 1866) encoding to thelinearized I_(T) signal to generate a gamma-coded luminance signal to becompressed and transmitted by the encoder.

An example of such mapping between ST 2084 (PQ) and BT 1866 is shown inFIG. 4. The curve has higher mid-tone contrast, lower blacks, andbrighter (with less contrast) highlights. This aligns the tone scalemore closely with standard SDR, so that when the input is decoded by alegacy device the image is still viewable. In FIG. 4, without loss ofgenerality, input and output values are normalized to (0, 1).

Reshaping information may be signaled from an encoder to the rest of thepipeline as metadata. The reshaping parameters may be determined at avariety of time instances, such as on a per frame basis, on a per scenebasis, or on a per sequence basis, to yield the best possibleperformance for a given video sequence.

Although this description focuses on the IPT-PQ color space, thesetechniques are equally applicable to other color spaces and colorformats. For example, similar techniques may be applied to improvebackward compatibility across different versions of YCbCr, for example,Rec. 709 YCbCr and Rec. 2020 YCbCr. Thus, in an embodiment, a Rec. 2020bitstream may be adjusted using signal reshaping techniques as describedherein to provide better hue and saturation output when decoded using alegacy Rec. 709 decoder.

FIG. 6 depicts an example process flow for generating a color-rotationand scaling matrix according to an embodiment. Given an image database(605), step (610) computes hue and saturation values for the images inthe database in a first (legacy) color space (e.g. YCbCr-gamma). Step(615) computes hue for the images in the database in a second(preferred) color space (e.g. IPT-PQ).

Given a hue-related cost function (e.g., equation (3)), step (620)solves for an optimum rotation angle a′ according to a minimization costcriterion (such as mean square error (MSE)) which minimizes the distancebetween hues computed in the legacy color space and hues computed in arotated preferred color space. In step (625) the value of a′ is used togenerate the color rotation matrix.

An optional saturation scaler may also be computed. Given a saturationcost function (e.g., equation 8), step (630), optionally, solves for anoptimum scaler b′ according to a minimization cost criterion, such asthe MSE between the saturation of signals in the first color space andthe saturation of scaled signals in a color-rotated preferred colorspace (640, 645).

Finally, in step (635), the rotation angle and the scaler are combinedto generate a color-rotation and scaling matrix (e.g., equation (11)).

In an encoder, the encoder will apply the color-rotation and scalingmatrix to the input data in the preferred color space to generate datain a reshaped color space. Data will be encoded (compressed) andtransmitted to a decoder together with information related to thecolor-rotation and scaling matrix.

In a decoder, a legacy decoder will decode the data assuming it is codedin the legacy color space. Despite using the wrong color spaceinformation, images will still be viewable at adequate quality, albeitin a lower dynamic range. A newer, fully-enabled, decoder may takeadvantage of the received metadata information on the color-rotation andscaling matrix to decode the image data in the preferred color space,thus providing to a viewer the full high-dynamic range of the data.

SEI Message Syntax for Reshaping Information

As discussed earlier, in one embodiment, the rotation (R) matrix andscaling vector (S) may be absorbed by the L′M′S′ to I′P′T′ conversionmatrix in (230). The tone reshaping curve may be part of the forwardcolor reshaping (305). In both cases, the adaptive reshaping information(that is, the matrix and the tone-mapping curve) may be transmitted bythe encoder to the decoder using the syntax proposed in U.S. ProvisionalApplication Ser. No. 62/193,390, filed on Jul. 16, 2015, also filed asPCT Application with Ser. No. PCT/US2016/02861 on Apr. 19, 2016, whichis incorporated herein by reference in its entirety.

In another embodiment, as depicted in FIG. 5, a new color rotation andscale block (510) may be added in an encoder (500A). This block may beadded after the color transformation (200) (e.g., RGB to IPT-PQ) butpreferably before the forward reshaping (305). In a decoder (500B), acorresponding inverse color rotation and scaling block (515) may beadded after the backward reshaping box (320). As depicted in FIG. 5,optional color format conversion boxes (e.g., 4:4:4 to 4:2:0 (505) or4:2:0 to 4:4:4 (520)) may be added in the encoding and/or decodingpipeline as needed.

In terms of syntax, one may specify either a 3×3 rotation matrix or justa 2×2 matrix, since typically the luminance channel (e.g., Y or I) areleft unchanged. Table 1 provides an example of SEI messaging tocommunicate a color rotation and scaling matrix; however, signaling isnot limited in SEI message; it can be inserted in any high level syntax,like SPS, PPS, etc.

TABLE 1 Example SEI Messaging for color rotation and scaling matrixDescriptor Colour_Rotation_Scale_Table( ) { colour_rotation_scale_matrix_present_flag u(1)  if(colour_rotation_scale_matrix_present_flag ) {   for( c = 0; c < 2; c++ )   for( i = 0; i < 2; i++ )     colour_rotation_scale_coeffs[ c ][ i ]i(16)   }  }

colour_rotation_scale_matrix_present_flag equal to 1 indicates that thesyntax elements colour_rotation_scale_coeffs [c][i], for c and i in therange of 0 to 1, inclusive, are present.colour_rotation_scale_matrix_present_flag equal to 0 indicates that thesyntax elements colour_rotation_scale_coeffs [c][i], for c and i in therange of 0 to 1, inclusive, are not present.

colour_rotation_scale_coeffs [c][i] specifies the value of thetwo-by-two colour rotation and scale matrix coefficients. The value ofcolour_rotation_scale_coeffs [c][i] shall be in the range of −2̂15 to2̂15−1, inclusive. When colour_rotation_scale_coeffs [c][i] is notpresent, the default colour rotation and scale matrix matrix is used.

In an embodiment, both the encoder and the decoder may be aware of thecolor-rotation and scaling matrix (e.g., through the mutual definitionof a new color space), hence it may not be needed to signal thecolor-rotation matrix from an encoder to the decoder. In anotherembodiment, the color-rotation and scaling matrix can be referenced inVUI (Video Usability Information) together with IPT-PQ.

Multiple-Hue and Saturation Reshaping

In some embodiments, it may be beneficial to apply the reshaping onmultiple hues. This will increase the accuracy of the reshaped colorspace to match the legacy colors, but at the expense of additionalcomputations at the decoder. Consider for example the problem ofoptimizing the reshaping for N hues (e.g., skin tones, sky, greens, andthe like). In an embodiment, one may repeat the processes discussedearlier to identify a set of optimal angles and saturations as afunction of hue. For example, using database images for a variety ofhues one may generate a set of optimal (rotation angle, saturationscale) values, e.g., {(a₁, b₁), (a₂, b₂), . . . , (a_(N), b_(N))}. Ormore generally, let for pixel p

a(p)=ƒ_(H)(h(p)),  (14)

b(p)=ƒ_(S)(h(p)),

denote the optimal chroma (hue) rotation and saturation scaling values,where h(p) denotes a measure of hue for pixel p. For example, for theIPT-PQ color space, the ƒ_(H) and ƒ_(S) functions may be computed interms of the hue h(p) and saturation s(p) functions:

$\begin{matrix}{{{h(p)} = {\tan^{- 1}\left( \frac{T^{\prime}(p)}{P^{\prime}(p)} \right)}},{{s(p)} = {\sqrt{{T^{\prime}(p)}^{2} + {P(p)}^{\prime \; 2}}.}}} & (15)\end{matrix}$

Functions ƒ_(H)(h(p)) and ƒ_(S)(h(p)) may be represented and stored in avariety of ways known in the art, for example, as look-up tables orpiece-wise linear or non-linear polynomials, and can be signaled from anencoder to a decoder as metadata.

Given ƒ_(H)(h(p)) and ƒ_(S)(h(p)), the encoder applies the followingreshaping functions to each pixel:

h′(p)=h(p)+a(p),

s′(p)=s(p)*b(p),  (16)

to generate the appropriate reshaped signal. For example, for the IPT-PQcolor space, the reshaped P′ and T′ color components for pixel p may bederived using

P′ _(r)(p)=s′(p)cos(h′(p)),

T′ _(r)(p)=s′(p)sin(h′(p)).  (17)

In a decoder, the process is reversed. For example, given ƒ_(H)(h(p))and ƒ_(S)(h(p)), from equations (14) and (16), the decoder generates

h(p)=h′(p)−a(p),

s(p)=s′(p)/b(p).  (18)

Note that to avoid a division in the decoder, in some embodiments theencoder may signal to the decoder the inverse of the ƒ_(S)(h(p)) (e.g.,1/b(p) values). For input data in the IPT-PQ space, the original datamay be generated as

P(p)=s(p)cos(h(p)),

T(p)=s(p)sin(h(p)).  (19)

From equation (17), applying inverse reshaping to recover the data inthe preferred color space requires trigonometric operations. In someembodiments, trigonometric operations may be performed using look-uptables. As an example, from equation (18), equation (19) may berewritten as

P(p)=s(p)cos(h′(p)−a(p)),

T(p)=s(p)sin(h′(p)−a(p)).  (20)

These operations may be further simplified using suitable look-up tablesfor computing the cosine and sine functions.

FIG. 7A depicts an example backward reshaping function to convert huefrom reshaped IPT-PQ-r (which appears as YCbCr to a legacy device) backto IPT-PQ when the legacy color space is YCbCr-gamma. FIG. 7B depictsthe corresponding backward reshaping function to adjust the saturation.FIG. 8 depicts how the preferred color space IPT-PQ (820) may beadjusted to match the characteristics of the legacy YCbCr color space(810). Rays (830) depict the rotation and scaling.

In another embodiment, instead of computing P and T values in terms ofcosine or sine functions of hue, one could construct a simpler decoderwith look-up tables generated based on some other function of hue (e.g.,ƒ(tan⁻¹(h(p)))). For example, given reshaped pixel value componentsP′_(r)(p) and T′_(r)(p), in an embodiment, the decoder may recover theoriginal pixel values as follows:

$\begin{matrix}{{{S_{r}^{\prime}(p)} = \sqrt{{T_{r}^{\prime}(p)}^{2} + {P_{r}^{\prime}(p)}^{\prime 2}}},{{R_{r}^{\prime}(p)} = \frac{T_{r}^{\prime}(p)}{P_{r}^{\prime}(p)}},{{P(p)} = {S_{r}^{\prime}*{v\left( {R_{r}^{\prime}(p)} \right)}}},{{T(p)} = {S_{r}^{\prime}*{w\left( {R_{r}^{\prime}(p)} \right)}}},} & (21)\end{matrix}$

where v( ) and w( ) denoted hue-related functions that were generated sothat images in the reshaped color space match a set of hue andsaturations in a legacy color space. The v( ) and w( ) functions, asbefore, can been communicated from the encoder to the decoder usingmetadata or they can be part of an established coding protocol orstandard known by both the encoder and the decoder.The IC_(T)C_(P) Color Space

IC_(T)C_(P), also to be referred to as ICtCp (or IPT), is a proposed newcolor space especially designed for processing high dynamic range andwide color gamut (WCG) signals. As with ITP-PQ, I (Intensity) denotesthe brightness of the PQ-encoded signal, C_(T), Tritan Axis, correspondsto blue-yellow perception, and C_(P), Protan Axis, corresponds tored-green color perception. In addition to the discussed features ofIPT-PQ, in IC_(T)C_(P):

-   -   As described earlier, chroma is rotated to align skin tones more        closely to YCbCr    -   The XYZ to LMS matrix is optimized for better uniformity and        linearity for WCG images    -   The L′M′S′ to ICtCp matrix is optimized to improve isoluminance        and stability with respect to HDR and WCG images

As used herein, the term “isoluminance” refers to a measure of how wellluminance (say, I of ICtCp or ICtCp of Y′Cb′Cr′) correspond to luminanceY. Indirectly, it measures how well a color space separates luma fromchroma. Experiments performed by the inventors indicate that I of ICtCpcorresponds much closer to luma than Y′ of Y′Cb′Cr′.

From an implementation point of view, using the IC_(T)C_(P) color spacerequires the same hardware and signal flow as using the traditionalgamma-coded YCbCr. For example, consider using gamma-corrected YCbCr(Y′Cb′Cr′) in a camera pipeline. Starting from XYZ, the process requiresthe following steps:

-   -   a) Converting from XYZ to RGB BT.2020 using a 3×3 matrix    -   b) Applying an inverse EOTF (or OETF) to the output of step a);        and    -   c) Applying a 3×3 matrix to the output of step b)

As depicted in FIG. 2, using the IC_(T)C_(P) color requires thefollowing steps:

-   -   a) In step (220), converting from XYZ to LMS using, in a        preferred embodiment, the following 3×3 matrix:

$\begin{matrix}\begin{bmatrix}0.359 & 0.696 & {- 0.036} \\{- 0.192} & 1.100 & 0.075 \\0.007 & 0.075 & 0.843\end{bmatrix} & (22)\end{matrix}$

-   -   -   which corresponds to combining the XYZ to LMS 3×3 matrix of            equation (1a) with a cross-talk matrix with c=0.04 (see also            equation (1c)).        -   b) In step (225) converting signal (222) to L′M′S′, as            described earlier, by applying the PQ non-linearity        -   c) In step (230), converting from L′M′S′ to IC_(T)C_(P)            using a 3×3 matrix, which in a preferred embodiment may be            defined as:

$\begin{matrix}{{\begin{bmatrix}2048 & 2048 & 0 \\6610 & {- 13613} & 7003 \\17993 & {- 17390} & {- 543}\end{bmatrix}/4096} = {\begin{bmatrix}0.5 & 0.5 & 0 \\1.614 & {- 3.323} & 1.710 \\4.378 & {- 4.246} & {- 0.135}\end{bmatrix}.}} & (23)\end{matrix}$

Equation (23) correspond to multiplying the rotation matrix of equation(12b) with the original L′M′S′ to I′P′T′ matrix of equation (2b).

In another embodiment, steps a) to c) can also be expressed as follows:

L′M′S′=EOTF_(ST2084) ⁻¹ [M*RGB_(BT.2020)],

where

${M = {\begin{bmatrix}1688 & 2146 & 262 \\683 & 2951 & 462 \\99 & 309 & 3688\end{bmatrix}/4096}},$

and

I=0.5L′+0.5M′,

C _(T)=(6,610L′−13,613M′+7,003S′)/4096,

C _(P)=(17,933L′−17,390M′−543S′)/4096,  (24)

where, RGB_(BT.2020) denotes a triplet of RGB values in BT.2020,EOTF_(ST2084) ⁻¹ denotes the inverse of the EOTF according to SMPTE ST2084. In some embodiments, the EOTF_(ST2084) ⁻¹ function may be replacedby another non-linear quantization function such as the Hybrid Log-Gamma(HLG) function. For complete reference, the appropriate equations arealso summarized in Table 2, where the subscripts D refers to displaylight.

TABLE 2 Color Conversion to IC_(T)C_(P) Parameter Values PQ L, M, SColour Space L = (1688R + 2146G + 262B)/4096 M = (683R + 2951G +462B)/4096 S = (99R + 309G + 3688B)/4096 Derivation of L′, M′, S′ {L′,M′, S′} = EOTF⁻¹(F_(D)) where F_(D) = {L_(D), M_(D), S_(D)} Derivationof I′ I = 0.5L′ + 0.5M′ Derivation of colour difference C_(T) = (6610L′− 13613M′ + 7003S′)/4096 signals C_(P) =(17933L′ − 17390M′ − 543S′)/4096

The conversion from IC_(T)C_(P) back to the original color space followsa similar approach, and in an embodiment it may include the followingsteps:

a) Convert from IC_(T)C_(P) to L′M′S′ using the inverse of equation (23)or

$\begin{matrix}{\begin{bmatrix}1 & 0.009 & 0.111 \\1 & {- 0.009} & {- 0.111} \\0.998 & 0.560 & {- 0.320}\end{bmatrix}.} & (25)\end{matrix}$

b) Convert the L′M′S′ signal to LMS using the signal's EOTF function(e.g., as defined in ST 2084; andc) Convert from LMS to XYZ using the inverse of equation (22), forexample:

$\begin{matrix}{\begin{bmatrix}2.073 & {- 1.325} & 0.206 \\0.365 & 0.681 & {- 0.045} \\{- 0.050} & {- 0.050} & 1.189\end{bmatrix}.} & (26)\end{matrix}$

In an embodiment, the corresponding L′M′S′ to RGB and IC_(T)C_(P) toL′M′S′ matrices are given by:

$\begin{matrix}{\begin{pmatrix}R \\G \\B\end{pmatrix} = {\begin{pmatrix}3.436606694333078 & {- 2.506452118656270} & 0.069845424323191 \\{- 0.791329555598929} & 1.983600451792291 & {- 0.192270896193362} \\{- 0.025949899690593} & {- 0.098913714711726} & 1.124863614402319\end{pmatrix}\begin{pmatrix}L^{\prime} \\M^{\prime} \\S^{\prime}\end{pmatrix}}} & (27) \\{\begin{pmatrix}L^{\prime} \\M^{\prime} \\S^{\prime}\end{pmatrix} = {\begin{pmatrix}1.0 & 0.008609037037933 & 0.1110296250030260 \\1.0 & {- 0.008609037037933} & {- 0.111029625003026} \\1.0 & 0.560031335710679 & {- 0.320627174987319}\end{pmatrix}\begin{pmatrix}I \\C_{T} \\C_{P}\end{pmatrix}}} & (28)\end{matrix}$

Reference Display Management

High dynamic range content may be viewed on displays that have lessdynamic range than the reference display used to master the content. Inorder to view HDR content on displays with a lower dynamic range,display mapping should be performed. This can take the form of an EETF(electrical-electrical transfer function) in the display, which istypically applied before applying the EOTF for the display. Thisfunction provides a toe and shoulder to gracefully roll off thehighlights and shadows providing a balance between preserving theartistic intent and maintaining details. FIG. 9 is an example EETFmapping from the full 0-10,000 nits dynamic range to a target displaycapable of 0.1-1,000 nits. The EETF may be introduced into the PQsignal; the plots show the effect of the mapping, i.e. they illustratehow the intended light is changed into the actual displayed light.

Below are the mathematical steps that implement this tone mappingfunction for displays of various black and white luminance levels. TheEETF may be applied in the non-linear domain to either the luma channelin IC_(T)C_(P) or Y′C′_(B)C′_(R) or to RGB channels individually.

Calculating the EETF:

The central region of the tone mapping curve is defined as a one-to-onemapping from source to target. An additional toe and shoulder roll offare calculated using a Hermite spline to reduce the dynamic range to thecapabilities of the target display.

The turning points (Toe Start (TS) and Shoulder Start (SS)) for thespline are defined first. These are the points where the roll offsbegin. Let minLum and maxLum denote the minimum and maximum luminancevalues of the target display, then:

SS=1.5*maxLum−0.5

TS=1.5*minLum

Given E₁, the source input signal in normalized PQ code words, theoutput E₂ is computed as follows.

For 0≤E₁≤TS

X ₁=0

Y ₁=minLum

X ₂ ,Y ₂=TS

E ₂ =P(E ₁ ,X ₁ ,Y ₁ ,X ₂ ,Y ₂)

For TS<E₁<SS

E ₂ =E ₁

For SS≤E₁≤1

X ₁ ,Y ₁=SS

X ₂=1

Y ₂=maxLum

E ₂ =P(E ₁ ,X ₁ ,Y ₁ ,X ₂ ,Y ₂)

Hermite Spline Equations:

$\mspace{20mu} {{T\left( {A,X_{1},X_{2}} \right)} = \frac{A - X_{1}}{X_{2} - X_{1}}}$  B = (A, X₁, X₂)P(B, Y₁, Y₂) = (2T(B)³ − 3T(B)² + 1)Y₁ + (T(B)³ − 2T(B)² + T(B))(X₂ − X₁) + (−2T(B)³ + 3T(B)²)Y₂

In another embodiment:

Step 1:

E ₂ =E ₁ for E ₁<SS

E ₂ =P(E ₁) f or SS≤E ₁≤1

Step 2:

E ₃ =E ₂+TS*(1−E ₂)⁴ f or 0≤E ₂≤1

Hermite Spline Equations

P(B)=(2T(B)³−3T(B)²+1)SS+(T(B)³−2T(B)²+T(B))(1−SS)+(−2T(B)³+3T(B)²)maxLum,

where

${T(A)} = {\frac{A - {SS}}{1 - {SS}}.}$

The resulting EETF curve can be applied to either the intensity Ichannel of IC_(T)C_(P) or the luma Y channel of Y′C′_(B)C′_(R). Here aresome notable options:

1) I of IC_(T)C_(P)—process the intensity (I) channel of IC_(T)C_(P)though the EETF

I ₂=EETF(I ₁)

-   -   Adjusts grayscale more accurately    -   No color shifts    -   Changes in saturation will be needed and should be applied to        the C_(T) and C_(P) channels using this equation:

$C_{T\; 2},{C_{P\; 2} = {{\min \left( {\frac{I_{1}}{I_{2}},\frac{I_{2}}{I_{1}}} \right)} \times \left( {C_{T\; 1},C_{P\; 1}} \right)}}$

2) Y′ of Y′C′_(B)C′_(R)—process the luma Y′ channel of Y′C′_(B)C′_(R)though the EETF

Y′ ₂=EETF(Y′ ₁)

-   -   Adjusts grayscale more accurately    -   Limited color shifts    -   Changes in saturation will be needed and should be applied to        the C′_(B) and C′_(R) channels using this equation:

$C_{B\; 2}^{\prime},{C_{R\; 2}^{\prime} = {{\min \left( {\frac{Y_{1}^{\prime}}{Y_{2}^{\prime}},\frac{Y_{2}^{\prime}}{Y_{1}^{\prime}}} \right)} \times \left( {C_{B\; 1}^{\prime},C_{R\; 1}^{\prime}} \right)}}$

Additional embodiments related to this invention are included inAppendix A of this Application.

Example Computer System Implementation

Embodiments of the present invention may be implemented with a computersystem, systems configured in electronic circuitry and components, anintegrated circuit (IC) device such as a microcontroller, a fieldprogrammable gate array (FPGA), or another configurable or programmablelogic device (PLD), a discrete time or digital signal processor (DSP),an application specific IC (ASIC), and/or apparatus that includes one ormore of such systems, devices or components. The computer and/or IC mayperform, control, or execute instructions relating to signal reshapingand coding of images with enhanced dynamic range, such as thosedescribed herein. The computer and/or IC may compute any of a variety ofparameters or values that relate to the signal reshaping and codingprocesses described herein. The image and video embodiments may beimplemented in hardware, software, firmware and various combinationsthereof.

Certain implementations of the invention comprise computer processorswhich execute software instructions which cause the processors toperform a method of the invention. For example, one or more processorsin a display, an encoder, a set top box, a transcoder or the like mayimplement methods related to signal reshaping and coding of HDR imagesas described above by executing software instructions in a programmemory accessible to the processors. The invention may also be providedin the form of a program product. The program product may comprise anynon-transitory medium which carries a set of computer-readable signalscomprising instructions which, when executed by a data processor, causethe data processor to execute a method of the invention. Programproducts according to the invention may be in any of a wide variety offorms. The program product may comprise, for example, physical mediasuch as magnetic data storage media including floppy diskettes, harddisk drives, optical data storage media including CD ROMs, DVDs,electronic data storage media including ROMs, flash RAM, or the like.The computer-readable signals on the program product may optionally becompressed or encrypted.

Where a component (e.g. a software module, processor, assembly, device,circuit, etc.) is referred to above, unless otherwise indicated,reference to that component (including a reference to a “means”) shouldbe interpreted as including as equivalents of that component anycomponent which performs the function of the described component (e.g.,that is functionally equivalent), including components which are notstructurally equivalent to the disclosed structure which performs thefunction in the illustrated example embodiments of the invention.

EQUIVALENTS, EXTENSIONS, ALTERNATIVES AND MISCELLANEOUS

Example embodiments that relate to the efficient signal reshaping andcoding of HDR images are thus described. In the foregoing specification,embodiments of the present invention have been described with referenceto numerous specific details that may vary from implementation toimplementation. Thus, the sole and exclusive indicator of what is theinvention, and is intended by the applicants to be the invention, is theset of claims that issue from this application, in the specific form inwhich such claims issue, including any subsequent correction. Anydefinitions expressly set forth herein for terms contained in suchclaims shall govern the meaning of such terms as used in the claims.Hence, no limitation, element, property, feature, advantage or attributethat is not expressly recited in a claim should limit the scope of suchclaim in any way. The specification and drawings are, accordingly, to beregarded in an illustrative rather than a restrictive sense.

1. A method to improve backward compatible decoding, the methodcomprising: accessing with a processor an image database (605);computing (610) first hue values of the images in the database in afirst color space; computing (615) second hue values of the images inthe database in a second color space; computing (620) a hue rotationangle based on minimizing a hue cost function, wherein the hue costfunction is based on a difference measure of the first hue values androtated second hue values; and generating (625) a color-rotation matrixbased on the hue rotation angle.
 2. The method of claim 1, furthercomprising: computing (610) first saturation values of the images in thedatabase in the first color space; transforming the images in thedatabase into the second color space to generate transformed images;applying (640) the color-rotation matrix to the transformed images togenerate color-rotated images; computing (645) second saturation valuesof the color-rotated images; computing (630) a saturation scaler basedon minimizing a saturation cost function, wherein the saturation costfunction is based on a difference measure of the first saturation valuesand scaled second hue values; and generating a scaling vector based onthe saturation scaler;
 3. The method of claim 2, further comprisingcombining the color-rotation matrix and the scaling vector to generate areshaping color matrix.
 4. The method of claim 1, wherein the firstcolor space comprises a gamma-coded YCbCr color space and the secondcolor space comprises a PQ-coded IPT color space.
 5. The method of claim1, wherein the first color space comprises a Rec. 709 YCbCr color spaceand the second color space comprises a Rec. 2020 YCbCr color space. 6.The method of claim 1, wherein the color-rotation matrix comprises${R = \begin{bmatrix}1 & 0 & 0 \\0 & {\cos \left( a^{\prime} \right)} & {\sin \left( a^{\prime} \right)} \\0 & {- {\sin \left( a^{\prime} \right)}} & {\cos \left( a^{\prime} \right)}\end{bmatrix}},$ where a′ denotes the hue rotation angle.
 7. The methodof claim 2, wherein the scaling vector comprises ${S = \begin{bmatrix}1 \\b^{\prime} \\b^{\prime}\end{bmatrix}},$ wherein b′ denotes the saturation scaler.
 8. The methodof claim 1, wherein the first color space is the Rec. 709 YCbCr colorspace, the second color space is the ST 2084 IPT color space (IPT-PQ)and the color-rotation matrix comprises $R = {\begin{bmatrix}1 & 0 & 0 \\0 & 0.3133 & 0.9496 \\0 & {- 0.9496} & 0.3133\end{bmatrix}.}$
 9. The method of claim 3, wherein the reshaping matrixcomprises: ${R_{S} = \begin{bmatrix}1 & 0 & 0 \\0 & {{\cos \left( a^{\prime} \right)}*b^{\prime}} & {{\sin \left( a^{\prime} \right)}*b^{\prime}} \\0 & {{- {\sin \left( a^{\prime} \right)}}*b^{\prime}} & {{\cos \left( a^{\prime} \right)}*b^{\prime}}\end{bmatrix}},$ wherein a′ denotes the hue rotation angle and b′denotes the saturation scaler.
 10. The method of claim 1, furthercomprising: receiving an input image in the second color space (232);applying (510) the color-rotation matrix to the input image to generatea color-rotated image; and encoding (310) the color-rotated image usingan encoder to generate a coded image;
 11. The method of claim 2, furthercomprising: receiving an input image (232) in the second color space;applying (510) the reshaping matrix to the input image to generate areshaped image; and encoding (310) the reshaped image using an encoderto generate a coded image;
 12. The method of claim 10 or claim 11,further comprising: applying a tone-mapping function (305) to luminancevalues of the reshaped image before the encoding step.
 13. The method ofclaim 11, further comprising: signaling information based on thereshaping matrix to a decoder as metadata.
 14. The method of claim 11,wherein the metadata comprise: a flag indicating the presence or not ofa color-rotation and scaling matrix; and a plurality of coefficientsbased on the color-rotation and scaling matrix when the flag indicatesthe presence of the color-rotation and scaling matrix.
 15. The method ofclaim 3, wherein the second color space comprises an IPT color space,and in a color converter, a default LMS to IPT conversion matrix isreplaced by a product of the default LMS to IPT conversion matrix withthe color reshaping matrix.
 16. In a decoder, a method to reconstruct aninput image coded in a reshaped color space, the method comprising:receiving a coded input image (312) in a reshaped color space, whereinthe reshaped color space is generated by rotating chroma components of apreferred color space to approximate one or more parameters of a legacycolor space; accessing metadata (309) transmitted from an encoder to thedecoder, wherein the metadata are associated with the coded input imageand comprise: a flag indicating the presence or not of a color-rotationand scaling matrix; and a plurality of coefficients for thecolor-rotation and scaling matrix when the flag indicates the presenceof the color-rotation and scaling matrix; decoding (315) the coded inputimage to generate a decoded image in the reshaped color space; andgenerating a decoded image in the preferred color space based on thedecoded image in the reshaped color space and the color-rotation andscaling matrix.
 17. The method of claim 16, wherein the one or moreparameters of the legacy color space comprise a measure of color hue orsaturation.
 18. The method of claim 16, wherein the legacy color spacecomprises a gamma-coded YCbCr color space and the preferred color spacecomprises a PQ-coded IPT color space.
 19. A method to improve backwardcompatible decoding, the method comprising: receiving an input image ina preferred color space; accessing a hue rotation function, wherein fora hue value of a pixel in the input image in the preferred color space,the hue rotation function generates a rotated hue output value thatmatches according to a hue-cost criterion a hue value in a legacy colorspace; generating a reshaped image based on the input image and the huerotation function; and encoding the reshaped image to generate a codedreshaped image.
 20. The method of claim 19, further comprising:accessing a saturation scaling function, wherein for the hue value of apixel in the input image in the preferred color space, the saturationscaling function generates a hue value with scaled saturation thatmatches according to a saturation-cost criterion a hue saturation valuein the legacy color space; and generating the reshaped image based onthe input image, the hue rotation function, and the saturation scalingfunction.
 21. In a decoder, a method to reconstruct an input image codedin a reshaped color space, the method comprising: accessing an inputimage encoded in a reshaped color space; accessing metadata associatedwith the input image, wherein the metadata comprise data associated witha hue rotation function used to translate the input image from apreferred color space to the reshaped color space, wherein for a huevalue of a pixel in the input image in the preferred color space, thehue rotation function generates a rotated hue output value that matchesaccording to a hue-cost criterion a hue value in a legacy color space;and generating an output image in the preferred color space based on theinput image and the data associated with the hue rotation function. 22.The method of claim 21, wherein the metadata further comprise dataassociated with a saturation scaling function used to translate theinput image from the preferred color space to the reshaped color space,wherein for the hue value of a pixel in the input image in the preferredcolor space, the saturation scaling function generates a hue value withscaled saturation that matches according to a saturation-cost criteriona hue saturation value in the legacy color space; and generating theoutput image in the preferred color space based on the input image andthe data associated with the hue rotation function and the saturationscaling function.
 23. An apparatus comprising a processor and configuredto perform any one of the methods recited in claims 1-22.
 24. Anon-transitory computer-readable storage medium having stored thereoncomputer-executable instruction for executing a method with one or moreprocessors in accordance with any of the claims 1-22.